The Recursive Record Semantics of Objects Revisited
نویسنده
چکیده
In a call-by-value language, representing objects as recursive records requires using an unsafe xpoint. We design, for a core language including extensible records, a type system which rules out unsafe recursion and still supports the reconstruction of a principal type. We illustrate the expressive power of this language with respect to object-oriented programming by introducing a sub-language for mixin-based programming. Key-words: xpoint, types, records, objects, semantics Work partially supported by the CTI Objets Migrants: Modélisation et Véri cation , France Télécom R&D, and by the French-Portugese Project Sémantique des Object Concurrents . Sur la Sémantique des Objets comme Enregistrements Récursifs Résumé : La représentation des objets comme enregistrements récursifs dans un langage en appel par valeur requiert l'utilisation d'un combinateur de point xe qui peut introduire des erreurs à l'exécution. Nous présentons un typage de la récursion qui o re les avantages du typage à la ML, à savoir: typage implicite avec reconstruction d'un type principal, et garantie qu'un programme typable ne produira pas d'erreur à l'exécution. Nous illustrons le pouvoir expressif du calcul obtenu en dé nissant un sous-calcul de "mixins", et en donnant quelques exemples exprimés dans ce langage. Mots-clés : point xe, types, enregistrements, objets, sémantique The Recursive Record Semantics of Objects 3
منابع مشابه
Programming Objects with ML-ART, an Extension to ML with Abstract and Record Types
Class-based objects can be programmed directly and ee-ciently in a simple extension to ML. The representation of objects, based on abstract and record types, allows all usual operations such as multiple inheritance, object returning capability, and message transmission to themselves as well as to their super classes. There is, however, no implicit coercion from objects to corresponding ones of ...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملA Semantics of Object Types
We give a semantics for a typed object calculus, an extension of System F with object subsumption and method override. We interpret the calculus in a per model, proving the soundness of both typing and equational rules. This semantics suggests a syntactic translation from our calculus into a simpler calculus with neither subtyping nor objects. 1. Objects, Records, and Functions Despite the many...
متن کاملOCamllight in Ott
OCamllight key points •Written in Ott • Faithful to Objective Caml (very nearly) • Type soundness proof mechanized in HOL (Coq and Isabelle/HOL definitions generated too) • Operational semantics validated on test programs • Small-step operational semantics (131 rules) • Type system (179 rules, below) • definitions: – variant data types (e.g., type t = I of int | C of char), – record types (e.g....
متن کاملRecursive Object Types in a Logic of Object-Oriented Programs
This paper formalizes a small object-oriented programming notation. The notation features imperative commands where objects can be shared (aliased), and is rich enough to allow subtypes and recursive object types. The syntax, type checking rules, axiomatic semantics, and operational semantics of the notation are given. A soundness theorem, showing the consistency between the axiomatic and opera...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. Funct. Program.
دوره 14 شماره
صفحات -
تاریخ انتشار 2001